Deep Dive into ZGC: A Modern Garbage Collector in OpenJDK

نویسندگان

چکیده

ZGC is a modern, non-generational, region-based, mostly concurrent, parallel, mark-evacuate collector recently added to OpenJDK. It aims at having GC pauses that do not grow as the heap size increases, offering low latency even with large sizes. The C++ source code readily accessible in OpenJDK repository, but reading it (25 KLOC) can be very intimidating, and one might easily get lost low-level implementation details, obscuring key concepts. To make algorithm more approachable, this work provides thorough description on high-level, focusing overall design moderate details. explain concurrency aspects, we provide SPIN model allows studying races between mutators threads, how they are resolved ZGC. Such only useful for learning current (offering deterministic interactive experience) also beneficial prototyping new ideas extensions. Our hope our detailed will enable use of building block future research, research implemented top could adopted industry readily, bridging gap academia context research.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

TMOS: A Transactional Garbage Collector

Defining persistence in terms of reachability is fundamental to achieving orthogonality of persistence. It is implicit to the principles of orthogonal persistence and is a part of the ODMG 3.0 data objects standard. Although space reclamation in the context of persistence by reachability can be achieved automatically using garbage collection, relatively few papers address the problem of impleme...

متن کامل

Complementary Garbage Collector

This paper describes the design and the evaluation of Complementary Garbage Collector that is a fundamental algorithm for the parallel and incremental garbage collector. Our algorithm is a combination of two types of fundamental algorithms, incremental update and snapshot-at-beginning, which are complementary to each other. The algorithm has the advantages of both types: great e ciency of the g...

متن کامل

Replicating real-time garbage collector

Real-time Java is becoming a viable platform for real-time applications, bringing new challenges to a garbage collector. A real-time collector has to be incremental as not to cause deadline misses by suspending an application for too long. In particular, if a real-time collector has to relocate objects in the heap, it must do so incrementally and transparently to the application. This is usuall...

متن کامل

A Non-Fragmenting Non-Moving, Garbage Collector

1. ABSTRACT One of the biggest disadvantages of nonmoving collectors compared to moving collectors has been their limited ability to deal with memory fragmentation. In this paper, we describe two techniques to reduce fragmentation without the need for moving live data. The first technique reduces internal fragmentation in BiBoP (Big-Bag-of-Pages) like allocators. The second technique reduces ex...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: ACM Transactions on Programming Languages and Systems

سال: 2022

ISSN: ['1558-4593', '0164-0925']

DOI: https://doi.org/10.1145/3538532